package com.yanqu.road.entity.log;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_l_ck_zhenhuan_first_chose", desc = "甄嬛无双门客-甄嬛一阶段选妃", autoSave = true, dataUpload = true, eventName = "zhguest_firpick", uploadCk = true)
public class LogZhenHuanFirstChose extends ServerBaseLog {
    @FieldTypeAnnotation(desc = "活动Id", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "使用前体力", dataAttribute = "zhguest_firpickbeforenum")
    private int beforePower;
    @FieldTypeAnnotation(desc = "选择位置", dataAttribute = "zhguest_firpickid")
    private int pos;
    @FieldTypeAnnotation(desc = "是否触发特效", dataAttribute = "zhguest_firpickisbig")
    private boolean isSpecial;
    @FieldTypeAnnotation(desc = "选择结果", dataAttribute = "zhguest_firpickchooseid", saveJson = true)
    private List<Integer> concubineId = new ArrayList<>();
    @FieldTypeAnnotation(desc = "解锁故事", dataAttribute = "zhguest_firpickstoryid")
    private int storyId;
    @FieldTypeAnnotation(desc = "获得榜单积分", dataAttribute = "zhguest_firpickscore")
    private int rankScoreAdd;
    @FieldTypeAnnotation(desc = "选择获得的奖励", dataAttribute = "zhguest_firpickget")
    private String choseReward;
    @FieldTypeAnnotation(desc = "故事奖励", dataAttribute = "zhguest_firpickextget")
    private String storyReward;
    @FieldTypeAnnotation(desc = "首次解锁奖励", dataAttribute = "zhguest_firpickfirstget")
    private String firstUnlockReward;
    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogZhenHuanFirstChose(int activityId, long userId, int beforePower, int pos, boolean isSpecial, List<Integer> concubineId, int storyId, int rankScoreAdd, String choseReward, String storyReward, String firstUnlockReward) {
        this.activityId = activityId;
        this.userId = userId;
        this.beforePower = beforePower;
        this.pos = pos;
        this.isSpecial = isSpecial;
        this.concubineId = concubineId;
        this.storyId = storyId;
        this.rankScoreAdd = rankScoreAdd;
        this.choseReward = choseReward;
        this.storyReward = storyReward;
        this.firstUnlockReward = firstUnlockReward;
        this.logTime = new Date();
    }

    @Override
    public long getUserId() {
        return userId;
    }
}
